package org.shikato.infodumper.dump;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.telephony.TelephonyManager;
import com.facebook.stetho.dumpapp.DumpException;
import java.util.LinkedHashMap;
import java.util.List;
public class TelDumper implements InfoDumper {
@Override
public String getTitle() {
return "TEL";
}
@Override
public LinkedHashMap<String, String> getDumpMap(Context context) throws DumpException {
int permissionInfo =
context.getPackageManager().checkPermission(Manifest.permission.READ_PHONE_STATE, context.getPackageName());
if (permissionInfo == PackageManager.PERMISSION_DENIED) {
return null;
}
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
LinkedHashMap<String, String> dumps = new LinkedHashMap<>();
dumps.put("Line1Number", telephonyManager.getLine1Number());
dumps.put("DeviceId", telephonyManager.getDeviceId());
dumps.put("SimCountryIso", telephonyManager.getSimCountryIso());
dumps.put("SimOperator", telephonyManager.getSimOperator());
dumps.put("SimOperatorName", telephonyManager.getSimOperatorName());
dumps.put("SimSerialNumber", telephonyManager.getSimSerialNumber());
dumps.put("SimState", Integer.toString(telephonyManager.getSimState()));
dumps.put("VoiceMailNumber", telephonyManager.getVoiceMailNumber());
return dumps;
}
@Override
public List<String> getDumpList(Context context) throws DumpException {
return null;
}
@Override
public String getErrorMessage() {
return "Need a permission: android.permission.READ_PHONE_STATE";
}
}